package com.yifeng.repo.micro.service.server.engine.configure;

import com.baomidou.mybatisplus.annotation.DbType;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.Map;

@Data
@ConfigurationProperties(value = "yfcloud.micro.service.engine.dao")
public class ServerEngineDaoProperties {
    /**
     * 是否启用分页插件
     */
    private boolean pageEnabled = true;
    /**
     * 溢出总页数的时候默认是跳到第一页
     */
    private boolean overflow = true;
    /**
     * 单页分页条数限制
     */
    private Long maxLimit = 2000L;
    /**
     * 数据库类型
     */
    private DbType dbType = DbType.MYSQL;
    /**
     * 优化总数查询
     */
    private boolean optimizeJoin = true;
    /**
     * 是否启用SqlLog插件
     */
    private boolean sqlLogEnabled;
    /**
     * SqlLog访问前缀
     */
    private String applicationMappingPrefix;
    /**
     * 是否启用乐观锁插件
     */
    private boolean optimisticLockerEnable;

    /**
     * 数据源路由类型编号：0. 负载均衡；1. 随机；2. 权重随机
     */
    private int dsRoutingType;
    /**
     * 数据源权重百分比，类似：{"slave_1":30,"slave_2":70}
     */
    private Map<String, Integer> dsRoutingPolicy;
}


